<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /* 
        
          // 输入两个数字 求这2个数字的最大公约数?
        // 1  2   4  
        // max 12  min 8 
        // 12 % 8  = 4
        // 8  % 4  = 0


        // max 15    min 7

        // 15 % 7 = 1
        // 7 %  1 = 0

        // 1就是他们2个的最大公约数
        // 约数  
        // 如果一个数字 被另外一个数字 求余结果为 0 那么这个数字就是另外数字的约数
        // 12   1  2  3  4 6 12
        // 8    1  2  4   8

        // 公约数 1 2  4
        // 最大公约数  4

        // 12 % 8 == 4 
        // 8 %  4 == 0


        // 24  8
        // 24  % 8 == 0


        // 24  9 
        // 24 % 9 == 6
        // 9 % 6 == 3

        // 6 % 3 == 0

        // 3 就是想要的结果


        // 循环


        
        

        // 求  1!+2!+...+10! 
        //封装函数   
        // 比如输入 10   那么  1!+2!+...+10!
        // 输入20   那么  1!+2!+...+10!+...20! 
        // 第一个函数 求 指定数字的阶乘
        // 第二个函数 用到第一个函数的结果 


        // 一对新兔子 第三个月开始 每个月 生一对兔子 
        // 1  1  2  3  5  8 13 

        // 斐波那契数列  

        // 封装函数  输入月数  求这个月总共多少对兔子 
        
        
        
        */

        // var num1 = parseInt(prompt('请输入第一个数字'));
        // var num2 = parseInt(prompt('请输入第二个数字'));
        // var max = num1>num2?num1:num2; // 12
        // var min = num1<num2?num1:num2; // 8
        // // console.log('循环以前',max);
        // // console.log('循环以前',min);
        // while(max % min !== 0 ){
        //     var temp = min // 8
        //     min = max % min; // num2 = 4
        //     max = temp; // num1 8
        //     // 余数给到 min 
        //     // min 给到max 
        // }
        // console.log('最大公约数',min);

        // function lcd(num1, num2) {
        //     var max = num1 > num2 ? num1 : num2;
        //     var min = num1 < num2 ? num1 : num2;
        //     while (max % min !== 0) {
        //         var temp = min;
        //         min = max % min;
        //         max = temp;
        //     }
        //     return min;
        // }


        // console.log(lcd(12, 8));
        // console.log(lcd(24, 7));
        

        // 斐波那契数列  
        // 规律 第一个月 1 第二个月 1
        // 从第三个月开始 每个月的兔子数量 = 前两个月的和 

        //          num1  num2  num1+num2 
        // 1       1      2        3       5       8       13
        // 用户输入5 
        // 3 + 4 = 第五个月的
        // 第一+第二 + 第二+第一+第二
        // function fibo(month){
        //     if(month==1 || month == 2){
        //         return 1
        //     }
        //     var num1 = num2 = 1;
        //     // 让第一个月第二个月不参与循环
        //     for(i=3;i<=month;i++){
        //         //每次循环做的事情 
        //         // 原来给到num2的结果给到 num1
        //         // 原来给到num1+num2的结果给到 num2
        //         var temp = num1+num2; //准备一个变量 保存原来的num1+num2
        //         num1 = num2;
        //         num2 = temp;


        //     }
            
        //     return temp;

        // }

        // console.log(fibo(1));
        // console.log(fibo(2));
        // console.log(fibo(5));
        // console.log(fibo(7));
        // console.log(fibo(8));


    // 已知 第一月 1 第二个月 1
    // 第三月始终是前两月的和 

    // fibo(3);
    // fibo(1)+fibo(2) 1+1
    // fibo(4);
    // fibo(3)+fibo(2);
    // fibo(3)+1;
    // fibo(1)+fibo(2)+1
    // 1+1+1

    // fibo(5);
    // fibo(4)+fibo(3);
    // fibo(3)+fibo(2)+fibo(1)+fibo(2);
    // fibo(1)+fibo(2)+fibo(2)+fibo(1)+fibo(2);
    // 1      1        1      1      1

    // 5



    </script>
</body>

</html>